package dao;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import conexion.BBDD;
import dao.interfaces.IClienteDAO;
import dao.interfaces.IInscripcionDAO;
import dao.interfaces.ISorteoDAO;
import dto.InscripcionDTO;

public class InscripcionDAO implements IInscripcionDAO{
		
		public void insertarInscripcion (int idCliente, int idSorteo) throws SQLException{
			
			Connection c = BBDD.abrirConexion();
			Date fecha =  new Date(new java.util.Date().getTime());	
			String sql = "INSERT INTO inscripcion (cliente, sorteo, fecha_inscripcion) VALUES ("+idCliente+", "+idSorteo+",'"+fecha.toString()+"');";
			PreparedStatement pr = c.prepareStatement(sql);
			pr.executeUpdate();
			sql = "UPDATE inscripcion SET pid=id WHERE cliente="+idCliente+" AND sorteo="+idSorteo+";";
			pr=c.prepareStatement(sql);
			pr.executeUpdate();
			BBDD.cerrarConexion(c);
		} 
		
		public InscripcionDTO buscarInscripcion(int idCliente, int idSorteo) throws SQLException{
			InscripcionDTO inscripcionDto = new InscripcionDTO();
			Connection c = BBDD.abrirConexion();
			String sql = "SELECT * FROM inscripcion WHERE cliente="+idCliente+" AND sorteo="+idSorteo+";";
			PreparedStatement pr = c.prepareStatement(sql);
			ResultSet rs = pr.executeQuery();
			if(rs.next()){
				ISorteoDAO sorteoDao = new SorteoDAO();
				inscripcionDto.setSorteo(sorteoDao.obtenerSorteoById(idSorteo));
				IClienteDAO clienteDao = new ClienteDAO();
				inscripcionDto.setCliente(clienteDao.obtenerClienteById(idCliente));
				inscripcionDto.setPid(rs.getInt("pid"));
				
			}
			BBDD.cerrarConexion(c);
			return inscripcionDto;
		}
}
